package com.quick.develop.business.service;

import com.quick.develop.framework.common.utils.PageResult;
import com.quick.develop.framework.mybatis.service.BaseService;
import com.quick.develop.business.vo.EnvironmentalEmergencyVO;
import com.quick.develop.business.query.EnvironmentalEmergencyQuery;
import com.quick.develop.business.entity.EnvironmentalEmergencyEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 环境应急预案
 *
 * @author GJH 1906559468@qq.com
 * @since 1.0.0 2024-01-27
 */
public interface EnvironmentalEmergencyService extends BaseService<EnvironmentalEmergencyEntity> {

    PageResult<EnvironmentalEmergencyVO> page(EnvironmentalEmergencyQuery query);

    /**
    * 保存表单
    * @param vo 表单数据
    */
    void save(EnvironmentalEmergencyVO vo);

    /**
    * 更新表单
    * @param vo 表单数据
    */
    void update(EnvironmentalEmergencyVO vo);

    /**
    * 根据ID删除表单
    * @param idList ID列表
    */
    void delete(List<String> idList);

    /**
    * @param id 表单ID
    * @return 表单数据详情
    */
    EnvironmentalEmergencyVO getEnvironmentalEmergencyVO(String id);

    /**
    * @param businessKey 表单ID
    * @return 表单数据详情
    */
    EnvironmentalEmergencyVO getEnvironmentalEmergencyByBusinessKey(String businessKey);

    /**
    * 表单动态参数导出
    * @param query 动态导出参数
    */
    void dynamicExportExcel(EnvironmentalEmergencyQuery query);

    /**
    * 动态导入
    * @param file 上传文件
    */
    void dynamicImportExcel(MultipartFile file);

    /**
    *  批量保存
    * @param list 需要保存的列表
    */
    void batchSave(List<EnvironmentalEmergencyVO> list);

    /**
    * 批量更新
    * @param list 批量更新VO
    */
    void batchUpdateById(List<EnvironmentalEmergencyVO> list);

    /**
    *
    * @param query 查询
    * @return 返回列表
    */
    List<EnvironmentalEmergencyVO> getListByKeys(EnvironmentalEmergencyQuery query);
}